<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>构造函数</title>
</head>

<body>
    <script>
        document.write('<p>构造函数：主要功能是初始化对象。</p>')
        document.write('<p>构造函数：主要功能是初始化对象。可以将构造函数想象成一个模板，样板，供我们创建对象。</p>')
        function persion() {
            //this 当构造函数被 new初始化了后，this指向的就是新创建的那个对象。
            this.name = "";
            this.age = null;
            this.sex = "";
            this.SayHillo = function () {
                document.write('<p>你好，我是' + this.name + '，我今年' + this.age + '岁了，我是' + this.sex + '的。</p>')
            }
        }
        var zs = new persion();
        zs.name = '张三';
        zs.age = 18;
        zs.sex = '男';
        //更改属性函数
        zs.SayHillo = function () {
            document.write('<p>我是新的属性函数。</p>')
        }
        //重新调用
        zs.SayHillo();
        //还可以对 zs 对象的属性进行修改及删除等操作。
        zs.address = '北京';
        delete zs.address;
        console.log(zs)
    </script>
</body>

</html>